/**
 * 
 * @param {*} success 数据库连接成功的回调
 * @param {*} error 数据库连接失败的回调
 */
module.exports = function (success, error) {
    // 判断
    if (typeof error !== 'function') {
        error = () => {
            console.log('连接失败');

        };
    };
    // 1. 安装 mongoose
    // npm i mongoose
    // 2. 导入 mongoose
    const mongoose = require('mongoose');

    // mongoose.set('strictQuery', true);

    // // 3. 连接mongodb 服务
    // // mongodb服务+服务器地址+端口号+数据库名称； bilibili : 数据库的名称
    // mongoose.connect('mongodb://127.0.0.1:27017/bilibili');

    // 导入配置文件
    // const config = require('../config/config');
    const { DBHOST, DBPORT, DBNAME } = require('../config/config');
    // mongoose.connect('mongodb://' + DBHOST + ':' + DBPORT + '/' + DBNAME);
    mongoose.connect(`mongodb://${DBHOST}:${DBPORT}/${DBNAME}`);

    // 4. 设置回调
    mongoose.connection.once('open', () => { // open 打开，设置连接成功的回调
        success();
    });

    mongoose.connection.on('error', () => { // error 错误 ， 连接错误的时候回调
        error()
    });

    mongoose.connection.on('close', () => { // close 关闭， 连接关闭的时候回调
        console.log('连接关闭');
    });
}